home *** CD-ROM | disk | FTP | other *** search
-
- *
- *MOVE L(CONST) WORDS FROM A(RAM VAR)
- *TO B(RAM VAR)
- *
- MOVE $MACRO A,B,L
- $IF (L.V<2)&(B.L#=0)
- MOV :A:,:B: MOVE SINGLE
- $ENDIF
- $IF (L.V=2)&(B.L#=0)
- MOVX :A:,:B: MOVE DOUBLE
- $ENDIF
- $IF (L.V>2)++(B.L=0)
- $VAR ST
- $ASG '*' TO ST.S
- $IF (A.L#=0)&(B.L#=0)
- $IF (A.SV#=ST.SV)&(B.SV#=ST.SV)
- CALL MOVAB$ MOVE
- REF MOVAB$
- DATA :A: FROM :A:
- DATA :B: TO :B:
- DATA :L.V: FOR :L.V: WORDS
- $ENDIF
- $ENDIF
- $IF (A.SV#=ST.SV)&(A.L#=0)
- $IF (B.L=0)++(B.SV=ST.SV)
- $IF B.L=0
- ACTAR AR1 AC TO AR1
- $ENDIF
- CALL MOVA$ MOVE
- REF MOVA$
- DATA :A: FROM :A:
- DATA :L.V: FOR :L.V: WORDS
- $ENDIF
- $ENDIF
- $IF (B.SV#=ST.SV)&(B.L#=0)
- $IF (A.L=0)++(A.SV=ST.SV)
- $IF A.L=0
- ACTAR AR0 MOVE AC TO AR0
- $ENDIF
- CALL MOVB$ MOVE
- REF MOVB$
- DATA :B: TO :B:
- DATA :L.V: FOR :L.V: WORDS
- $ENDIF
- $ENDIF
- $IF (A.L=0)++(A.SV=ST.SV)
- $IF (B.L=0)++(B.SV=ST.SV)
- $IF A.L=0
- ACTAR AR0 AC TO AR0
- $ENDIF
- $IF B.L=0
- ACTAR AR1 AC TO AR1
- $ENDIF
- CALL MOV$$ MOVE
- REF MOV$$
- DATA :L.V: FOR :L.V: WORDS
- $ENDIF
- $ENDIF
- $ENDIF
- $END